﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


class modelData
{
    // 创建 TestsDataSet 对应的 DataTable（Test 列表、每次测试一条头信息）
    public System.Data.DataTable CreateTestsTable()
    {
        // 创建一个名为 "Tests" 的 DataTable（名字跟你在代码里 Add 时可不同，但推荐一致）
        var dt = new System.Data.DataTable("Tests");
        // 添加 TestID 列，整型，用来关联 Sizes（主键/外键逻辑在内存中）
        dt.Columns.Add("TestID", typeof(int));
        //用于显示“次数”或“均值”等文本
        dt.Columns.Add("TestOrder", typeof(string));
        // 显示测试时间
        dt.Columns.Add("TestTime", typeof(DateTime));
        // 测试体积（例如 5.0 表示 5 mL）
        dt.Columns.Add("TestVolume", typeof(double));
        // 返回创建好的表结构
        return dt;
    }

    // 创建 SizesDataSet 对应的 DataTable（每条记录是一次测试下的一个粒径行）
    public System.Data.DataTable CreateSizesTable()
    {
        // 创建名为 "Sizes" 的 DataTable，用于存放所有 TestID 对应的粒径行（Subreport 会过滤）
        var dt = new System.Data.DataTable("Sizes");
        // TestID 列，整型，用于在 SubreportProcessing 时按 TestID 过滤
        dt.Columns.Add("TestID", typeof(int));
        // Size 列，字符串（用 string 更保险，保留 "0.1" 这种格式），你也可以改为 double
        dt.Columns.Add("Size", typeof(string));
        // 表示积分值
        dt.Columns.Add("Integral", typeof(double));
        // 表示差分值
        dt.Columns.Add("Differential", typeof(double));


        dt.Columns.Add("jfMax", typeof(double));
        dt.Columns.Add("jfMin", typeof(double));
        dt.Columns.Add("jfStd", typeof(double));
        dt.Columns.Add("jfAvg", typeof(double));
        dt.Columns.Add("jfSum", typeof(double));
        dt.Columns.Add("cfMax", typeof(double));
        dt.Columns.Add("cfMin", typeof(double));
        dt.Columns.Add("cfStd", typeof(double));
        dt.Columns.Add("cfAvg", typeof(double));
        dt.Columns.Add("cfSum", typeof(double));
        // 返回表结构
        return dt;
    }

    // 创建 AveragesDataSet 对应的 DataTable（按粒径计算的均值表）
    public System.Data.DataTable CreateAveragesTable()
    {
        // 创建名为 "Averages" 的 DataTable，用于主报表底部显示每个粒径的平均值
        var dt = new System.Data.DataTable("Averages");
        dt.Columns.Add("Size", typeof(string));// Size 列，字符串
        dt.Columns.Add("AvgIntegral", typeof(double));// 平均积分
        dt.Columns.Add("AvgDifferential", typeof(double));  // 平均差分
        // 返回创建好的 averages 表
        return dt;
    }
    // 创建 AveragesDataSet 对应的 DataTable（按粒径计算的均值表）
    public System.Data.DataTable CreateAnalyse()
    {
        // 创建名为 "Analyse" 的 DataTable
        var dt = new System.Data.DataTable("Analyse");
        dt.Columns.Add("jfMax", typeof(double));
        dt.Columns.Add("jfMin", typeof(double));
        dt.Columns.Add("jfStd", typeof(double));
        dt.Columns.Add("jfAvg", typeof(double));
        dt.Columns.Add("jfSum", typeof(double));
        dt.Columns.Add("cfMax", typeof(double));
        dt.Columns.Add("cfMin", typeof(double));
        dt.Columns.Add("cfStd", typeof(double));
        dt.Columns.Add("cfAvg", typeof(double));
        dt.Columns.Add("cfSum", typeof(double));
        return dt;
    }
}
